﻿
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>README</title>
<style type="text/css">
body {
	text-align: center;
	margin: 0;
	padding: 0;
	background-color: #363942;
	color: #382513;
}

#container {
	margin: 15px auto;
	text-align: left;
	background-color: #FFFFFF;
	border: 1px solid #4B1E18;
	padding: 0px;
	width: 850px;
}

#header {
	min-height: 80px;
	border-bottom: 1px solid #284907;
	margin-bottom: 15px;
	padding: 15px;
}

#header h1 {
	position: relative;
	vertical-align: center;
	color: #382513;
	margin-bottom: -10px;
}

.subheading {
	color: #284907;
}

#content {
	padding: 0 15px;
}

#footer {
	clear: both;
	border-top: 1px solid #284907;
	padding: 15px;
	margin-top: 15px;
}
</style>
</head>
<body>
<div id="container">
<div id="header">
<h1>README - Dataglot</h1>
<p class="subheading">A library to thinly wrap ordinary ADO.NET</p>
</div><!-- /header -->
	<div id="content">
<h2>Controller Pattern</h2>
<p>A table controller is a type of active record pattern.  If you were going to implement one class per table with insert, 
update, select and deleted, then use this.</p>

<h2>Manager Pattern</h2>
<p> A manager is referring to a connection and transaction manager, which is a common need of classes that consume table controllers.
These need to be opened/closed and disposed of to avoid unexpected rollbacks/commits, connection links, connection-not-open errors, etc.
</p>

<h2>Factories</h2>
<p>
ADO.NET supports some limited cross-database support. To actually pull this off, SQL commands need to be lightly processed to convert parameters
from one dialect to another, plus several other pain points, such as different connections string layouts.
</p>

<h2>Namespaces and Convention over Configuration</h2>
<p>All code is written assuming that tables have namespaces in the form of ns_table_name.</p>
<p>All table and column names are assumed to be _ delimited words, e.g. ns_book_sales.</p>

<h2>Trace</h2>
<p>Not all databases support easy trace this library provides for extensive trace, both of the SQL stream and the libraries activities using
System.Diagnostics and TraceSource.</p>

<h2>Utilities</h2>
<p>A Null utility is provided for converting  DbNull.Value to 'null' or to 'neutral' .NET values.</p>
<p>An Enum utility is provided for converting Enums to their string, numeric or description and back.</p>
<p>A configuration utility is provided to hide some boilerplate ConfigurationManager code.</p>

</div><!-- /content -->

	<div id="footer">
<p>Copyright (c) 2011 Matthew D Martin<br />
MIT or MS-PL License as you elect, please see root directory for text of licenses.</p>
	</div><!-- /footer -->
<!--
Credits for HTML template: David Rodriguez
http://www.wpdfd.com/issues/86/simple_css_creating_more_readable_text/
-->
</div><!-- /container -->
</body>
</html>